package com.example.myweather.tools

import android.app.Application
import android.content.Context

import com.socks.library.KLog
import com.umeng.commonsdk.UMConfigure
import com.umeng.message.IUmengRegisterCallback
import com.umeng.message.PushAgent

class MainApplication : Application() {

    override fun onLowMemory() {
        super.onLowMemory()

    }

    override fun onCreate() {
        context = applicationContext
        super.onCreate()
        // 在此处调用基础组件包提供的初始化函数 相应信息可在应用管理 -> 应用信息 中找到 http://message.umeng.com/list/apps
        // 参数一：当前上下文context；
        // 参数二：应用申请的Appkey（需替换）；
        // 参数三：渠道名称；
        // 参数四：设备类型，必须参数，传参数为UMConfigure.DEVICE_TYPE_PHONE则表示手机；传参数为UMConfigure.DEVICE_TYPE_BOX则表示盒子；默认为手机；
        // 参数五：Push推送业务的secret 填充Umeng Message Secret对应信息（需替换）
        UMConfigure.init(this, "5e75e911167eddcc2e0000f1", "Umeng",
                UMConfigure.DEVICE_TYPE_PHONE, "d5c686a4cd7db6e6bcc843b3fcbbe041")

        val mPushAgent = PushAgent.getInstance(this)
        //注册推送服务，每次调用register方法都会回调该接口
        mPushAgent.register(object : IUmengRegisterCallback {
            override fun onSuccess(deviceToken: String) {
                //注册成功会返回deviceToken deviceToken是推送消息的唯一标志
                KLog.d(TAG, "注册成功：deviceToken：-------->  $deviceToken")
            }

            override fun onFailure(s: String, s1: String) {
                KLog.d(TAG, "注册失败：-------->  s:$s,s1:$s1")
            }
        })
    }

    companion object {

        /**
         * 全局的上下文
         */
        /**
         * 获取context
         *
         * @return
         */
        var context: Context? = null
            private set

        private val TAG = MainApplication::class.java.name
    }
}
